class User < ActiveRecord::Base

  has_many :weibos

  acts_as_authentic

  #  validates_format_of :file= , :with => /^image/, :message => "你只能上传图片"

  def self.search(conditions, page, order)
    paginate :per_page => 10, :page => page,
      :conditions => conditions,
      :order => order
  end

  def is_female
    self.gender == "女"
  end

  def activated?
    self.activate
  end

  #通过params[:user][:file]得到一个TempFile object,重要的method:
  #original_filename 	获得文件的名字
  #content_type 	得到文件的类型
  #read 	读取文件中的数据(从硬盘上读取到内存中)
  #write 	写文件(把内存中数据写到硬盘中)
  #length 	获取文件长度
  def file=(file_field)
    if(file_field !="")
      image_path = "/upload/user_images/#{Time.now.strftime('%Y%m%d%h%m%s')}-#{file_field.original_filename}";
      File.open("#{RAILS_ROOT}/public#{image_path}", "wb+") do |f|
        f.write(file_field.read)
        self.image = image_path;
      end
    end
  end
  #  original_filename 形如: test.gif 这很方便我们使用,假如要判断上传是不是图片就用 content_type
  #  结果得到形如: image/gif ,不论是什么格式的图片都是image/*** 那么可以在model中使用valide验证数据
  #  这也是为什么把保存文件部分放入model中,因为model对数据可以进行有效的验证

end
